using Godot;
using System;
using 游戏设定.基类;

public partial class 组件道具 : Panel
{
    [Export] private Label 道具名称;
    [Export] private Label 道具数量;
    [Export] private Marker2D 弹窗坐标;

    private C道具模型 道具 = null;

    public override void _Ready()
    {
        GuiInput += 鼠标点击事件;
    }

    public void 置数据(C道具模型 _道具)
    {
        道具 = _道具;
        道具名称.Text = 道具.名称;
        道具数量.Text = 道具.数量.ToString();
    }

    public C道具模型 取道具()
    {
        return 道具;
    }

    public void 删道具()
    {
        道具 = null;
        道具名称.Text = "";
        道具数量.Text = "";
    }

    public void 置数量(int 数量)
    {
        道具数量.Text = 数量.ToString();
    }

    private void 鼠标点击事件(InputEvent @event)
    {
        if (@event is InputEventMouseButton mouseEvent)
        {
            if (mouseEvent.ButtonIndex == MouseButton.Left && mouseEvent.Pressed)
            {
                if (道具 != null)
                {
                    游戏管理.舞台实例.置道具弹窗(道具, 弹窗坐标.GlobalPosition);
                }
            }
        }
    }
}
